// pages/mine/classList/classList.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isStu: false,
    isTea: false,
    classList:[],
    index: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let userInfo = wx.getStorageSync('userInfo');
    const db = wx.cloud.database();
    if(userInfo.status == 'teacher'){
      this.setData({
        isTea: true,
      })
      db.collection('classInfo').where({
        TId: userInfo._id
      })
      .get().then(res =>{
        this.setData({
          classList: res.data
        })
      })
    }
    else{
      this.setData({
        isStu: true,
      })
      db.collection('classInfo').limit(10).get().then(res => {
      this.setData({
        classList: res.data
      })
    });
    }
    
  },

  joinclass(e){
    let userInfo = wx.getStorageSync('userInfo');
    let that = this
    const db = wx.cloud.database();
    const _=db.command
    let isjoin = false
    userInfo.classinfo.forEach((i) =>{
      if(e.currentTarget.id == i.cid){
        wx.showToast({
          title: '已经在了喔',
          duration: 1000
        })
        isjoin =true
      }
    })
    if(isjoin) return
    db.collection('classInfo').doc(e.currentTarget.id)
    .update({
      data:{
        students: _.push({
          sId: userInfo._id,
          sName: userInfo.nickName,
          avatarUrl: userInfo.avatarUrl,
        })
      }
    })
    .then(res => {
      db.collection('userInfo').doc(userInfo._id).update({
        data:{
          classinfo: _.push({
            cid: e.currentTarget.id,
            className: that.data.classList[e.currentTarget.dataset.index].className,
            lessonName: that.data.classList[e.currentTarget.dataset.index].lessonName,
          })
        }
      })
      .then(res =>{
        wx.showToast({
          title: '加入成功',
        })
      })
    })
  },

  delclass(e){
    let userInfo = wx.getStorageSync('userInfo');
    const db = wx.cloud.database()
    const _=db.command
    db.collection('classInfo').doc(e.currentTarget.id).remove({
      success: res => {
        db.collection('userInfo').doc(userInfo._id).update({
          data:{
            classinfo: _.pull({
              cid: _.eq(e.currentTarget.id)
            })
          }
        })
        wx.showToast({
          title: '删除成功',
        })
      },
      fail: err => {
        wx.showToast({
          icon: 'none',
          title: '删除失败',
        })
        console.log(err)
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  toaddClass(){
    wx.navigateTo({
      url: '/pages/mine/classList/addClass/addClass'
    });
  },

    // ListTouch触摸开始
    ListTouchStart(e) {
      this.setData({
        ListTouchStart: e.touches[0].pageX
      })
    },
  
    // ListTouch计算方向
    ListTouchMove(e) {
      this.setData({
        ListTouchDirection: e.touches[0].pageX - this.data.ListTouchStart > 0 ? 'right' : 'left'
      })
    },
  
    // ListTouch计算滚动
    ListTouchEnd(e) {
      if (this.data.ListTouchDirection =='left'){
        this.setData({
          modalName: e.currentTarget.dataset.target
        })
      } else {
        this.setData({
          modalName: null
        })
      }
      this.setData({
        ListTouchDirection: null
      })
    },
})